package br.com.FII.DAO;

import java.util.List;

public interface AbstractRepository<T> {

	/**
	 * Cria um novo registro no Banco de Dados
	 * 
	 * @param entity
	 */
	public void create( T entity );

	/**
	 * Atualiza um registro no Banco de Dados
	 * 
	 * @param entity
	 */
	public void update( T entity );

	/**
	 * Remove um registro no Banco de Dados
	 * 
	 * @param entity
	 */
	public void remove( T entity );

	/**
	 * Recupera um registro no Banco de Dados
	 * 
	 * @param id
	 */
	public T find( Object id );

	/**
	 * Busca todos os registros daquela entidade
	 * 
	 * @return lista com todos os registros
	 */
	public List<T> findAll();

}
